热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

科普|深度学习训练和推理有何不同?

要理解什么是深度神经网络的“训练(training)”,我们可以把它类比成在学校中学习。神经网络和大多数人一样——为了完成一项工作,需要接受教育。具体来说,经过训练(trainin

要理解什么是深度神经网络的“训练(training)”,我们可以把它类比成在学校中学习。神经网络和大多数人一样——为了完成一项工作,需要接受教育。

具体来说,经过训练(training)的神经网络可以将其所学应用于数字世界的任务——例如:识别图像、口语词、血液疾病,或者向某人推荐她/他接下来可能要购买的鞋子等各种各样的应用。这种更快更高效的版本的神经网络可以基于其训练成果对其所获得的新数据进行「推导」,在人工智能领域,这个过程被成为“推理(inference)”。


推理是将深度学习训练成果投入使用的过程。

没有训练,就不可能会有推理。这很容易讲通,因为我们人类大多时候就是这样获取和使用知识的。正如我们不需要一直围着老师、满架的书架或名牌院校转也能阅读莎士比亚的十四行诗一样,推理并不需要其训练方案中的所有基础设施就能做得很好。

所以,就让我们把AI分解成训练和推理两个过程,看看它们各自是如何工作的。


训练深度神经网络


正如我们不需要一直围着老师、满架的书架或名牌院校转也能阅读莎士比亚的十四行诗一样,推理并不需要其训练方案中的所有基础设施就能做得很好。

尽管教育过程(或者训练)的目标都是一样的——获得知识(knowledge),但神经网络的训练和我们人类接受教育的过程还是有着很大的不同。神经网络是对人类大脑的初步模仿————神经元之间的所有互连。但是,不同于我们的大脑,人类大脑中的神经元可以连接到特定物理距离内任何其它神经元,而人工神经网络却不是这样——它分为很多不同的层(layer)、连接(connection)和数据传播(data propagation)的方向。

训练一个神经网络时,训练数据被输入该网络的第一层,同时一个神经元会基于所执行的任务为该输入分配一个权重——即该输入正确与否的程度。

在一个用于图像识别的网络中,第一层可能是用来寻找图像的边缘。第二层可能是寻找这些边所构成的形状——矩形或圆形。第三层可能是寻找特定的特征——比如闪亮的眼睛或按钮式的鼻子。每一层都会将图像传递给下一层,直到最后一层;最后的输出由该网络所产生的所有这些权重总体决定。

但这就是训练和我们的教育过程的不同之处。假设我们有一个任务是识别图像中的猫:神经网络会在获取了所有的训练数据,并计算了权重之后才能得出结论说图像中是否是「猫」。其只能通过训练算法得到“正确”或“错误”这样的反馈。


训练需要密集的计算

如果该算法告诉神经网络它错了,它依然不知道什么才是正确的答案。这个错误会通过网络的层反向传播回来,该网络则须做出心的猜测。在每一次尝试中,它都必须考虑其它属性——在我们的例子中是「猫」的属性——并为每一层所检查的属性调整权重高低。然后它再次做出猜测,一次又一次……直到其得到正确的权重配置,从而最终可以在所有的尝试中都能几乎得到正确的答案,知道这是一只猫。


训练可以教会深度学习网络正确地标注一个有限集里面猫的图像,然后该网络可被用于检测更广泛范围里面的猫。

现在你得到了一个数据结构,其中所有的权重基于其通过训练数据集中所学到的内容基础上进行了调平。这是一种经过了精心优化微调的美丽事物。但问题在于,这个过程却是个算力消耗巨大的怪兽。曾在谷歌和斯坦福大学做过研究,并在百度硅谷实验室担任过首席科学家的吴恩达曾说过,训练一个百度的汉语语音识别模型不仅需要 4 TB 的训练数据,而且在整个训练周期中还需要 20 exaflops(百亿亿次浮点运算)的算力。这样的算力需求,绝不是一部智能手机所能达到的。


你的神经网络训练好了,已经为推理做好了准备

准确分配加权了的神经网络本质上是一个笨重的巨型数据库。此前,你为了让它学习而准备的各种东西(在我们的教育,这些就好比是我们所需的所有铅笔、书本、老师的教导等)已经远远多于它在完成某一特定任务时所需的内容。

在现实世界中,如果有人想使用这些训练,你真正所需的是一种可以保持学习并能将其学习成果应用于其从未见过的数据的快速应用,这就是推理:只需要少得多的真实世界数据,就能快速得出正确答案(实际上是对什么是正确的的预测)。

尽管这是计算机科学的一个全新领域,但我们仍有两种主要的方法可以对迟钝的神经网络进行修改,以使其速度更快并改善应用在跨多个网络运行时所造成的延迟。


推理是如何实现的?


推理是如何被使用的?只要打开你的智能手机就知道了。推理可被用于将深度学习应用到语音识别和分类照片等各种各样的任务上。

第一个方法着眼于神经网络中训练之后就不再激活的部件。这些部分已不再被需要,可以被“修剪”掉。第二个方法是寻找方法将神经网络的多个层融合成一个单一的计算步骤。

这类似于数字图像的压缩。设计师可能设计了这些巨大的、美丽的、数百万像素宽和高的图像,但如果要将它们放到网上,就需要将它们转换成 jpeg 格式。对人眼来说,它们看起来基本上完全相同,只是分辨率不一样。推理也是类似的,你可以得到预测的几乎同样的准确度,但简化、压缩和优化可以提升运行时的性能。

这意味着我们可以一直使用推理。你的智能手机的声控助手使用了推理,谷歌的语音识别、图像搜索和垃圾邮件过滤应用也都是用了推理。百度也在语音识别、恶意程序检测和垃圾消息过滤中使用了推理。Facebook 的图像识别和亚马逊与 Netflix 的推荐引擎全都依赖于推理。

GPU具备并行计算(同时进行多个计算)能力,既擅长训练,也擅长推理。使用 GPU 训练的系统可以让计算机在某些案例中实现超过人类水平的模式识别和对象检测。

训练完成后,该网络可被部署在需要“推理”(对数据分类以“推理”出一个结果)的领域中。而具备并行计算能力的 GPU 可以基于训练过的网络运行数十亿的计算,从而快速识别出已知的模式或对象。

你可以看到这些模型和应用将会越来越聪明、越来越快和越来越准确。训练将越来越简单,推理也将为我们生活的方方面面带来新的应用。



推荐阅读
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 基于深度学习的遥感应用
    文章目录深度学习的发展过程深度学习在遥感中的应用基于深度学习的遥感样例库建设基于深度学习的遥感影像目标及场景检索基于深度学习的建筑物提取基于深度学习的密集建筑物自动检测基于深度学习 ... [详细]
  • 开源真香 离线识别率高 Python 人脸识别系统
    本文主要介绍关于python,人工智能,计算机视觉的知识点,对【开源真香离线识别率高Python人脸识别系统】和【】有兴趣的朋友可以看下由【000X000】投稿的技术文章,希望该技术和经验能帮到 ... [详细]
  • 【观察】中国产业AI化的破局之路:加速算力释放与生态合作共赢
    申耀的科技观察读懂科技,赢取未来!电影《斗士》中,有这么一句台词令人印象深刻:“知道路要怎么走,和走上这条路& ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
  • JavaScript和Python是用于构建各种应用程序的两种有影响力的编程语言。尽管JavaScript多年来一直是占主导地位的编程语言,但Python的迅猛发展有 ... [详细]
  • Two Sigma人均22万英镑~
    近期原创文章: ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 微信回应「10 元就能在朋友圈改定位」;谷歌官方首次提及 Android 11;Node 8.16.2 发布 | 极客头条...
    微信回应「10元就能在朋友圈改定位」;谷歌官方首次提及Android11;Node8.16.2发布|极客头条,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
PengJin05
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有